﻿using System;
using System.Collections.Generic;
using System.Linq;
using Crosland.Automotriz.Data.Dao.Linq;
using Crosland.Automotriz.Entidad;
using Crosland.Automotriz.Seguridad.ControlExeption;
namespace Crosland.Automotriz.Logic.Linq
{
    public class clsTD_ClienteBL
    {
        readonly clsTD_ClienteDAO datos = new clsTD_ClienteDAO();

        public TD_CLIENTE Listar(int ID_CLIENTE)
        {try{
            return datos.Listar(ID_CLIENTE);
                 }
            catch (Exception ex)
            {
                throw new RunException("Error al listar en la Tabla TD_CLIENTE ", ex);
            }
        }





        public List<TD_CLIENTE> ListarRazonesSociales(int Id_Cliente)
        {
            return datos.ListarRazonesSociales(Id_Cliente);
        }

        public IEnumerable<Object> ListarRazonesSocialesNoAgrupadas(int Id_Cliente, string DES_CLIENTE, string NIF, int filas) 
        {
            return datos.ListarRazonesSocialesNoAgrupadas(Id_Cliente, DES_CLIENTE, NIF, filas);
        }



        public List<TD_CLIENTE> ListarClientePorCodigo(String Codigo)
        {
            return datos.ListarClientePorCodigo(Codigo);
        }
        public IEnumerable<Object> ListarClientePorNombre(string DES_CLIENTE, string NIF, int filas)
        {
            return datos.ListarClientePorNombre(DES_CLIENTE, NIF, filas);
        }

        public IEnumerable<Object> ListarRazonesSocialesHijas(int Id_Cliente)
        {
            return datos.ListarRazonesSocialesHijas(Id_Cliente);
        }

        public IEnumerable<Object> listarCliente() 
        {
            return datos.listarCliente();
        }

        public bool ActualizarRelacion(TD_CLIENTE Obj)
        {
            return datos.ActualizarRelacion(Obj);
        }

        public bool ActualizarNombreComercial(TD_CLIENTE Obj)
        {
            return datos.ActualizarNombreComercial(Obj);
        }


        public IEnumerable<Object> ListarClientes(string nombre)
        {
            return datos.ListarClientes(nombre);
        }

        public int ObtenerUltimoID()
        {
            return datos.ObtenerUltimoID();
        }

        public int ObtenerUltimoIdentity(string DES_TABLA)
        {
            return datos.ObtenerUltimoIdentity(DES_TABLA);
        }

        public bool Insertar(TD_CLIENTE Obj)
        {
            return datos.Insertar(Obj);
        }

        public bool Actualizar(TD_CLIENTE Obj)
        {
            return datos.Actualizar(Obj);
        }

        public bool ExisteDocumentoIdentidad(string NIF)
        {
            return datos.ExisteDocumentoIdentidad(NIF);
        }

        public IEnumerable<Object> BuscarClientes(string DES_CLIENTE, int filas)
        {
            return datos.BuscarClientes(DES_CLIENTE, filas);
        }
    }
}
